商务统计学基础 | 第四章 决策树
前面我们介绍了一种重要的适用于0-1型因变量的回归分析模型:逻辑回归。从理论上讲,逻辑回归是广义线性回归模型的一个特例。从名字上就可以感受到,这个模型的本质就是某种线性模型。线性模型有很多优良的性质。例如:非常简单,而且参数个数少,因此能够支持相对比较小的样本估计。同时,因为模型结构简单,参数估计结果也很好解读。这些都是线性模型的优点。但是,天下没有免费的午餐,在统计模型的构建过程中,凡是优点就一定伴随着缺点。各种线性模型(包括广义线性模型)的主要缺点是什么呢?答:不灵活。因为这是一个线性模型,因此它的函数形式单一,难以描述更加灵活的函数形态(例如:非单调的相关关系)。而现实生活中碰到的问题,可能非常复杂。当面对复杂问题的时候,其实我们仍然会优先考虑相对简单的线性模型,为什么?因为样本量常常不够大。但是,随着计算机技术的进步,人们能够采集到越来越多的样本,这就为建立更加复杂的非线性模型提供了可能,而各种各样的非线性模型,成就了机器学习(或者统计学习)这个特定的领域。
本节的目标是为各位同学进入机器学习领域提供一个小小的起点。为此,我们只关注一类最典型的机器学习问题:二分类问题。为什么关注这类问题?因为:这类问题太典型了,在实际工作中太常见了。本质上,前一节关于逻辑回归所探讨的所有案例场景,都是二分类问题。对于二分类问题,我们探讨两种典型的机器学习方法:决策树(或者分类树)以及神经网络。为什么关注这两类方法?我们关注决策树是因为这是机器学习方法中非常少有的(甚至仅有的)一类非常好解读的方法。其他大量的机器学习方法更像是一个黑盒子。作为用户只知道最后的预测结果,但是很难理解该结果是怎样形成的。另外,我们关注神经网络是因为它是人工智能领域深度学习的模型基础。这是一类非常难以解读的机器学习方法,但是非常重要。因此,如果能够很好地理解并掌握这两类方法的核心思想,那么未来接触机器学习理论可能会更加容易一些。
本节先从决策树开始。要想理解决策树(或分类树)的理念,首先需要回答两个问题:第一,什么是决策或分类?第二,什么是树?所谓决策就是指的一个二分类问题:即判断0-1型因变量Y的取值是0还是1。例如医生在诊断过程中需要判断:该患者是否患病?这就是一个典型的决策问题。银行在处理客户的贷款申请时也需要判断:该客户是否会违约?这也是一个典型的分类问题。那么什么是树呢?树其实是人们在生活中非常熟悉的一种决策规则,请看如下案例。
案例1: 疾病诊断。
疾病一直是人类健康的重大天敌。以糖尿病为例,这是一类以高血糖为主要特征的代谢性疾病,在我国具有较高的发病率。据国际糖尿病联合会估计,我国糖尿病患病人数在2011年就已达到9000万左右,而2021年则增加到了1.4亿左右,并且其中约51.7%的患者尚未被确诊。因此,通过定期体检识别疾病风险,早发现早诊断早治疗十分重要。在检查的过程中,医生需要做出一个决策:该患者是否患病?这一决策应该如何做出呢?首先患者需要进行各种各样的检查。以糖尿病检查为例,患者往往需要进行葡萄糖耐受力测试,需要检测身高体重,需要提供家庭病史。这些都是在给医生提供决策依据。而医生通过医学院的学习,通过多年的行医经验也有一套决策规则。图4.6.1中展示了在II型糖尿病的诊断中使用的一种决策规则。由图可知,当经过一段时间的葡萄糖耐力测试,患者的血糖仍然较低,那么可以判断该患者未患糖尿病。如果血糖维持在高水平,那么则需要进一步检查患者的身体质量指数(BMI)。如果BMI数值表明患者处于肥胖或者严重肥胖状态,那么可以判断该患者患有II型糖尿病。类似地,对于任何一个检查结果充分的患者都可以通过这套规则将其划分为患病和未患病两种状态,即做出相应的决策或分类。图4.6.1中的这套决策规则就叫做决策树。请注意,本书作为一个入门级别的统计学教材,对图4.6.1的引用仅仅是为了教学演示。至于该决策规则在临床上的实际效果如何并不知晓,也没有什么相关的研究经验,因此特别提请读者注意。案例2:银行借贷。
在银行的借贷过程中,不可避免地会出现借款人无法偿还利息和本金的可能性。根据中国人民银行制定的《贷款分类指导原则》,商业银行应按照借贷人的实际还款能力将贷款分为五类:正常、关注、次级、可疑、损失。其中后三类均为借贷人不能偿还债务的情况,这三类贷款也叫做不良贷款。如果不良贷款率较高,就可能影响银行的放贷能力,甚至导致银行破产。因此,我国银监会在《商业银行风险监管核心指标》中规定,商业银行不良贷款率不应超过4%。事实上,据银保监会统计,截止至2021年第四季度末,我国商业银行不良贷款余额为2.8万亿元,总不良贷款率达到1.73%。在银行放贷的过程中,对于客户的借贷申请,银行需要做出一个分类预测:该用户是否会违约?这一预测应该如何做出呢?首先用户需要提交各类资料,可能包括收入证明、银行流水记录等等。这些都是在给银行提供预测依据,而银行相应地也有一套分类预测规则。图4.6.2中展示了一种可能的分类预测规则,即分类树。由图可知,当该客户的借贷历史优良且收入水平高时,银行的预测结果可能是该客户不会违约,并因此通过该客户的贷款申请。而当该客户的借贷历史优良、收入水平低并且贷款额高时,银行的预测结果可能是该客户会违约,并因此拒绝该客户的贷款申请。类似地,对于任何一个提供了充分资料的用户都可以通过这套规则将其分类预测为通过违约和不违约两种状态,并因此做出相应的授信决策。
案例3:故障检测。
故障检测是现代电气系统的重要一环,也是设备长久健康运行的保证。以光伏发电为例,这是一种将光能直接转变为电能的清洁能源技术。鉴于光伏发电的清洁可持续性,2021年国家能源局发布的《2021年能源工作指导意见》中提出:风电和光伏发电量的占比提升还将进一步加速。事实上,据国家能源局统计,截止至2021年底,我国光伏发电装机容量已经达到3.06亿千瓦,连续7年位居全球首位。同年的光伏发电量已占全年总发电量的4.0%。光伏发电系统中同样少不了故障检测,特别是关键的光伏并网发电系统。如果该系统出现严重故障将影响生产力,提高维护成本。因此进行早期的系统故障检测十分重要。在故障检测的过程中,检测人员或者检测软件需要最终做出一个分类预测:该系统是否发生故障。这一预测应该如何做出呢?检测人员可能需要收集系统中有关的运行数据,例如介质温度、整体倾斜辐照度以及电路电压等等。这些都是在给检测人员提供预测依据,而检测人员相应地也有一套分类预测规则。图4.6.3中展示了一种光伏系统故障检测分类树中的一部分。由图可知,当电路电阻小于等于0.87欧姆、整体倾斜辐照度小于等于600.24 W/m2,且介质温度大于32.97度时,检测人员预测该系统有故障。其余情况下该系统均为无故障。类似地,对于任何一个能够进行充分测量的光伏系统都可以通过这套规则将其分类为通过有故障和无故障两种状态,并因此辅助检测人员做出相应的运维保养或预防性维护的决策。
案例4:网络购物。
网购已经成为我国居民零售消费的重要渠道之一,据国家统计局数据显示,2021年实物商品的网上零售额已经占社会消费品零售总额的24.5%。从总量上看,2021年全国网上零售总额也达到了13.1万亿元。庞大的销售总额的背景下,网购已经成为一种现代生活方式。在网购过程中,消费者需要做出一个决策:是否购买该商品?这一决策应该如何做出呢?不同的人有不同的经验,在决策过程中也会遵循不一样的规则。但人们通常都会先充分地了解该商品的特点,例如商品价格、历史价格、商品属性、历史评价、折扣力度等等。这些都是在给自己提供决策依据,基于这些决策依据,图4.6.4展示了某消费者的决策规则。由图可知,当商品为刚需且价格低时,该消费者的决策为购买该商品。而当商品不是刚需,虽然消费者很喜爱,但是折扣力度小时,该消费者的决策依然为不购买该商品。类似地,对于任何一个相关信息能够被充分获取的商品,消费者都可以通过这套规则将其划分为购买和不购买两种状态,并做出相应的消费决策。
在以上的案例中,主人公都面临一个二选其一的决策问题。而他们都可以通过收集决策依据,再一个个判断决策依据是否符合要求,最终层次渐进地做出决策。决策树模拟的正是这种层次渐进地进行决策的模式。而我们面对的问题是:如何让机器可以基于数据学习出这样一颗决策树出来?首先,观察上面各个案例中的决策树形态,不难发现这颗“虚拟的树”和真实的树一样:都是从一个点开始长起,然后再发芽抽条并长出枝叶。因此决策树形成的第一步也是确定一个初始点,即根节点。例如在案例一的II型糖尿病诊断决策树中,根节点就是葡萄糖耐受力测试结果。那么为什么根节点偏偏是这个呢?根节点可以是身体质量指数吗?答:原则上可以,但不是最好的。经过基于实际数据的严格测算,人们发现以葡萄糖耐受力测试结果作为根节点最好。请问,好在哪里?好就好在以葡萄糖耐受力测试结果作为根节点划分后节点的“纯度”提升得最多。请问什么是纯度?直观上看,“纯度”越高表明该节点内的样本更加趋同,因此类别更少。例如,如果某个节点内全都是糖尿病患者,那么该节点的纯度肯定高于一半糖尿病患者一半健康人的情况。
但“纯度”毕竟是一个抽象的概念,需要通过一些指标来进行刻画。常用的度量样本集合纯度的指标并不唯一,这里主要介绍信息熵(Information Entropy)。假设当前样本集合D中,共有K类不同取值,第k类样本所占的比例为,那么D的信息熵定义为:
信息熵越小,意味着样本集合D的纯度越高。有兴趣的读者可以验证一下,当时,达到最大值,即,此时样本集的纯度最低,因为各类的样本均匀分布。当存在一个k,使得而且对任何都有,达到最小值0,此时样本纯度最高,因为只存在一类样本。请注意,这里定义。在信息熵定义的帮助下,我们已经能够评估经过根节点划分前和划分后节点的“纯度”。但是,经过根节点划分后,决策树产生了两个节点,它们各自能够计算出一个信息熵结果,分别为和。请问,如何将两个信息熵合并,从而计算以特征X划分时的节点的总信息熵?一种简单的做法是将划分后各节点的信息熵按照该节点样本量占比做加权平均,即:其中X表示用于划分节点的特征,M表示分支节点的总数,表示第m个分支节点的样本集合。因此有。此外用表示相应的样本量。为了帮助大家建立更加直观的印象,我们以消费者的网购决策(图4.6.4)为例,虚构一组数据,见表4.6.1。这里只考虑三个X指标,分别是性别(男或女)、收入(高或低)以及年龄(岁或30岁)。接下来我们探讨一下:第一个根节点应如何选取?为此我们需要考虑三个不同的X选择,并分别计算该根节点下的样本集合纯度。首先考虑如果以性别作为根节点,那么如图4.6.5所示,样本数据将根据性别的两个水平(男或女)划分至两个节点:节点1中的样本集合全为男性,节点2中的样本集合全为女性。而节点1中共包含9个样本,其中5个样本的决策为购买,4个样本的决策为不购买,带入公式4.6.1计算可得节点1的信息熵类似地,节点2的信息熵因此利用公式4.6.2可以计算出用性别划分下的节点总信息熵和上述过程类似,以收入作为根节点计算出的节点总信息熵为其中因此。而以年龄作为根节点计算出的节点总信息熵为。这一结果说明收入作为根节点的总信息熵最小,划分后的样本纯度更高,因此应将收入作为根节点。表4.6.1 消费者网购决策数据类似地,节点4的信息熵
假设收入“高”的样本集合为,那么利用公式4.6.2可以计算出用性别划分下的节点总信息熵
和上述过程类似,以年龄作为左侧分支节点计算出的节点总信息熵为:。这一结果说明年龄作为左侧分支节点的总信息熵最小,划分后的样本纯度更高,因此应将年龄作为左侧分支节点。
类似地,节点6的信息熵。假设收入“低”的样本集合为,那么利用公式4.6.2可以计算出用性别划分下的节点总信息熵
类似地,以年龄作为右侧分支节点计算出的节点总信息熵分别为:。这一结果说明性别作为右侧分支节点的总信息熵最小,划分后的样本纯度更高,因此应将性别作为右侧分支节点。
图4.6.8 最终的消费者网购决策树
最后总结一下,决策树(或分类树)是一种非常重要的机器学习方法,而且难能可贵的是有着非常好的可解释性。关于决策树有着很多更深的研究成果。例如,对于一个大数据集会有很多X指标,那么理论上可以生长出一颗很大的树,但是不是每一个枝叶都是重要的?或者有没有很多枝叶的长成是完全的概率随机现象?为此很多学者又提出了各种决策树的剪枝方法。另外如果数据足够大,足够复杂,是不是一棵树就足够了?为什么不种很多颗树呢?每一颗树给一个预测结果,然后将这些结果综合到一起,会不会有更好的预测精度?这就是重要的随机森林方法。关于决策树更多的讨论可以参考相关专著。而下一节中,我们将集中精力讨论:神经网络。
1 Al Jarullah, A. A. Decision Tree Discovery for the Diagnosis of Type II Diabetes. 2011 International Conference on Innovations in Information Technology, 2011: 303-307.
2 Sathish kumar, L. and Pandimurugan, V. and Usha, D. and Nageswara Guptha, M. and Hema, M.S. Random Forest Tree Classification Algorithm for Predicating Loan. Materials Today: Proceedings, 2022, 57: 2216-2222.
3 Benkercha, R. and Moulahoum, S. Fault Detection and Diagnosis based on C4. 5 Decision Tree Algorithm for Grid Connected PV System. Solar Energy, 2018 (173): 610-634.
往期推荐